#ifndef __LSM6DSOXTR_H__
#define __LSM6DSOXTR_H__
#include "main.h"

// 传感器 I2C 地址（SDO/SA0 接高电平）
#define LSM6DSOXTR_ADDR 0xD6

typedef struct {
  float accel_x;  // 加速度计 X 轴（g）
  float accel_y;  // 加速度计 Y 轴（g）
  float accel_z;  // 加速度计 Z 轴（g）
  float gyro_x;   // 陀螺仪 X 轴（dps）
  float gyro_y;   // 陀螺仪 Y 轴（dps）
  float gyro_z;   // 陀螺仪 Z 轴（dps）
} LSM6DSOXTR_Data_t;

extern I2C_HandleTypeDef hi2c1;
extern LSM6DSOXTR_Data_t lsm6dsoxtr_data;

static HAL_StatusTypeDef LSM_WriteReg(uint8_t reg, uint8_t data);
static HAL_StatusTypeDef LSM_ReadRegs(uint8_t reg, uint8_t *buf, uint16_t len);
HAL_StatusTypeDef LSM6DSOXTR_Init(void);
HAL_StatusTypeDef LSM6DSOXTR_ReadData(void);

#endif /* __LSM6DSOXTR_H__ */